This relates to time-multiplexed structured (coded) light, and to methods for acquiring a three-dimensional structure of an object.
Coded light is an active triangulation method for three-dimensional (3D) geometry acquisition, in which the object of interest is illuminated by a time-multiplexed sequence of patterns, e.g., vertical or horizontal stripes of varying width, forming some binary (e.g. Gray) code. Using a camera calibrated with the projecting system, the 3D geometry is recovered by triangulation. The code enables a correspondence between the camera and the projector coordinate systems to be determined.
The object is illuminated with a rapidly changing sequence of patterns. Typically, the sequence of projected patterns consists of b binary code patterns, forming a one-dimensional Gray code. The object illuminated by these patterns forms a set of N×M images I0 . . . , Ib captured by the camera. These images contain continuous gray levels (hereinafter assumed to have pixel values in the range [0, 255]) that are converted into values of 1 at illuminated pixels and 0 at dark pixels.
The binary code of length b is thus formed at each pixel and decoded, giving a reference to the location Y of the pixel in the one-dimensional system of coordinates of the projector. The intersection of the ray connecting the pixel with the optical center of the camera coordinate system and the plane in the projector coordinate system allows recovery of the three-dimensional world coordinate of the point seen at that pixel. This coordinate can be expressed as the distance R from the camera center and obtained by means of a spatially-dependent non-linear projection operator R(x,y)=P(x,y){(x,y)}.